shell脚本的结构性语句

您所在的位置:网站首页 shell脚本while read line shell脚本的结构性语句

shell脚本的结构性语句

2023-03-02 23:58| 来源: 网络整理| 查看: 265

shell的结构性语句即 分支和循环

分支语句 if 条件;then     ...     代码块 else     ...     代码块 fi         #结尾

例:

#!/bin/bash read var if [ ${var}x = "goodx" ];then echo "good" else echo "not good" fi

输出结果:

当输入"good" "gooo" ""时,分别输出"good" "not good" "not good"

虽然shell的test的规则是,测试成功为0,测试失败为1(参考我之前博客:shell的功能性(测试)语句-->test),但是在分支shell的结构性语句中仍然是遵循条件满足则执行,不满足则执行else后的语句。

分支语句的结束由开始关键字的反序表示 如 if --> fi case --> esac 多路分支语句 case 字符型变量 in     模式1)         ...         ;;#类似于C语言中的break,但是在shell里面;;一定要     模式2)         ...         ;;     ...     模式n)         ...         ;; esac        #结尾 filename=$1 case $filename in     *.c) #匹配所有以.c结尾的文件名         echo "c source file"         ;;     *.h)         echo "header file"         ;;     *.cpp)         echo "c++ source file"         ;; esac case语句真正强大的地方在于它可以使用模式而不是固定的字符来匹配。一个模式是由正规字符和特殊通配符组成的字符串,该模式可以用正则表达式     * shell通配符 代表任意多个(也可以是0个)字符     ? shell通配符 代表一个任意字符 循环语句 for循环 for 变量名 in 单词表 do     ...循环体语句 done "单词表":以空白符分隔开来的字符串列表,比如: a ab c ddd for循环执行的次数就是“单词表”中的单词的个数,并且每 次执行的时候,“变量”的值就取下一个单词的值 类似于python的for循环

例子:

for i in a b c ddd do     echo $i done #该shell脚本将陆续输出 a b c ddd while循环 while 命令或表达式 do     ... done until循环 until 命令或表达式 do     ... done until和while的功能相似,所不同的是until只当测试的 命令或表达式的值为假的时候才执行循环体的命令列表, 条件成立,则退出循环,这一点和while相反 break 和 continue break n     跳出n层循环,n不写时默认为1,和C语言含义一致 continue n     跳过n层循环,n=2时,跳过本次循环和上一层循环     n不写时默认为1,和C语言含义一致



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3